<?xml version="1.0" encoding="WINDOWS-1251" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text"/>

<xsl:key name="linksKey" match="link" use="concat(@from,';',@to)"/>    


<xsl:template match="/">
<xsl:text>
digraph system {

size="12,15";
node [color=lightblue2, style=filled];
//-------------------------------------
</xsl:text>
<xsl:apply-templates select="apm/links/link[generate-id(.) = generate-id(key('linksKey',concat(@from,';',@to)))]"/>
<xsl:apply-templates select="apm/apps/app"/>
<xsl:text>
}
</xsl:text>
</xsl:template>


<xsl:template match="apm/links/link">
       <xsl:text>" </xsl:text>
       <xsl:value-of select="@from"/>
       <xsl:text> " -&gt; " </xsl:text>
       <xsl:value-of select="@to"/>
       <xsl:text> "</xsl:text>

       <xsl:text> [ tooltip="view links" href="javascript:showLink('</xsl:text>
       <xsl:value-of select="@from"/>
       <xsl:text>','</xsl:text>
       <xsl:value-of select="@to"/>
       <xsl:text>');" ]</xsl:text>

       <xsl:text>;&#10;</xsl:text>
</xsl:template>    

<xsl:template match="apm/apps/app">
	<xsl:variable name="name" select="@name" />
	<xsl:if test="/apm/links/link[@from=$name] or /apm/links/link[@to=$name]">
       <xsl:text>" </xsl:text>
       <xsl:value-of select="@name"/>
       <xsl:text> "</xsl:text>

       <xsl:text> [ tooltip="</xsl:text>
       <xsl:value-of select="@desc"/>
       <xsl:text>" href="javascript:showApp('</xsl:text>
       <xsl:value-of select="@name"/>
       <xsl:text>');" ]</xsl:text>

       <xsl:text>;&#10;</xsl:text>
	</xsl:if>	
</xsl:template>    


</xsl:stylesheet>
